package cn.xyinping.hrm.feign;

import cn.xyinping.hrm.domain.Login;
import cn.xyinping.hrm.dto.LoginMealDto;
import cn.xyinping.hrm.util.AjaxResult;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author 27266
 * @desrciption 降级类
 * @date 2021/11/22
 */
// 降级类都要实现FallbackFactory接口
@Component
@Slf4j
public class LoginFeignClientFallback implements FallbackFactory<LoginFeign> {
    @Override
    public LoginFeign create(Throwable throwable) {
        return new LoginFeign(){
            @Override
            public AjaxResult save(Login login) { // 降级方法
                log.error("保存login异常"+throwable.getMessage());
                throwable.printStackTrace(); // 打印所有错误
                return AjaxResult.me().setSuccess(false).setMessage("保存login异常");
            }

            @Override
            public AjaxResult saveLoginAndMeal(LoginMealDto loginMeal) {
                log.error("保存login异常"+throwable.getMessage());
                throwable.printStackTrace(); // 打印所有错误
                return AjaxResult.me().setSuccess(false).setMessage("保存login异常");
            }
        };
    }
}
